﻿using System.Collections.Generic;
using NeuralStock.DataAccess;
using NeuralStock.Entities;

namespace NeuralStock.DomainService.Interfaces
{
    public interface IMacroDataService
    {
        IEnumerable<MacroData> GetAllMacroDataValues();

        MacroData GetMacroData(int macroDataId);

        MacroData GetMacroData(string macroDataName);

        IEnumerable<MacroDataQuotation> GetMacroDataQuotations(int macroDataId);

        MacroDataQuotation GetMacroDataQuotation(int macroDataQuotationId);

        MacroDataQuotation GetMacroDataQuotation(int macroDataId, int year, int month);

        IEnumerable<MacroDataQuotation> GetMacroDataQuotations(int macroDatId, int year);

        IEnumerable<MacroDataQuotation> GetMacroDataQuotations(int macroDatId, int yearFrom, int yearTo);

        void CreateQuotation(int macroDataId, MacroDataData macroData);

        void UpdateQuotation(int macroDataId, MacroDataData macroData);

        void DeleteQuotation(int macroDataQuotationId);
    }
}
